﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using RESTServicesMov.Dominio;
using RESTServicesMov.Persistencia;
using System.ServiceModel.Web;
using RESTServicesMov.Excepciones;
using System.Net;

namespace RESTServicesMov
{
    
    public class ConsultasCSs : IConsultasCSs
    {
        MSProducto.ProductosClient proxy = new MSProducto.ProductosClient();

        private ConsultaDAO dao = new ConsultaDAO();
        //private ProductoDAO daoProd = new ProductoDAO();

         List<ConsultaCS> lista ;
        public List<ConsultaCS> Consultar(string codigod)
        {
            int codd = Int32.Parse(codigod);
            // int codh = Int32.Parse(codigoh);
           MSProducto.Producto producto = proxy.ObtenerProducto(codd);
            //Producto producto = daoProd.ObtenerProducto(codd);
            if (producto != null)
            {
                lista = dao.ConsultarProducto(codd, producto);
                if (lista != null && lista.Count > 0)
                    return lista;
                else
                {
                    throw new WebFaultException<Excepcion>(
                          new Excepcion()
                          {
                              Mensaje = "Producto " + codigod + " no enlazado a ningún centro."
                          }, HttpStatusCode.InternalServerError);
                }

            }

            else
            {
                throw new WebFaultException<Excepcion>(
                      new Excepcion()
                      {
                          Mensaje = "El Código de Producto " + codigod + " no existe."
                      }, HttpStatusCode.InternalServerError);
            }


        }

    }
}
